home *** CD-ROM | disk | FTP | other *** search
/ PC Elektro 3 / PC-Elektro-3-cd1.bin / KBan 2.0 / KBANSRC.LZH / SRC / PROG / MAINFRAM.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1997-09-06  |  1.4 KB  |  72 lines

  1. // the implementation of class CMainFrame
  2. // Copyright (C) 1997 Kazutaka Hirata <khirata@jove.acs.unt.edu>
  3.  
  4. #include "stdafx.h"
  5.  
  6. #include "resource.h"
  7.  
  8. #include "mainfram.h"
  9.  
  10. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  11.  
  12. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  13.   ON_WM_CREATE()
  14.   ON_WM_CLOSE()
  15. END_MESSAGE_MAP()
  16.  
  17. BOOL CMainFrame::CreateToolBar(void)
  18. {
  19.   if(!m_wndToolBar.Create(this)) {
  20.     return FALSE;
  21.   }
  22.   m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
  23.     CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC
  24.   );
  25.   m_wndToolBar.SetWindowText("Main");
  26.   m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  27.   DockControlBar(&m_wndToolBar);
  28.   return TRUE;
  29. }
  30.  
  31. BOOL CMainFrame::CreateStatusBar(void)
  32. {
  33.   static UINT nIndicators[] = {
  34.     ID_SEPARATOR        ,
  35.     ID_INDICATOR_X      ,
  36.     ID_INDICATOR_Y      ,
  37.     ID_INDICATOR_LAYER  ,
  38.     ID_INDICATOR_ZOOM   ,
  39.     ID_INDICATOR_GRID   ,
  40.     ID_INDICATOR_COMMAND,
  41.   };
  42.   if(!m_wndStatusBar.Create(this)) {
  43.     FALSE;
  44.   }
  45.   m_wndStatusBar.SetIndicators(nIndicators, 7);
  46.   return TRUE;
  47. }
  48.  
  49. int CMainFrame::OnCreate(LPCREATESTRUCT lpcs)
  50. {
  51.   if(CFrameWnd::OnCreate(lpcs) == -1) {
  52.     return -1;
  53.   }
  54.  
  55.   EnableDocking(CBRS_ALIGN_ANY);
  56.  
  57.   if(!CreateToolBar()
  58.   || !CreateStatusBar()) {
  59.     return -1;
  60.   }
  61.  
  62.   LoadBarState("BarSettings");
  63.  
  64.   return 0;
  65. }
  66.  
  67. void CMainFrame::OnClose(void)
  68. {
  69.   SaveBarState("BarSettings");
  70.   CFrameWnd::OnClose();
  71. }
  72.